ASP.NET

推荐列表 站点导航

当前位置:首页 > 脚本编程 > ASP.NET >

Azure Table storage 基本用法

来源:网络整理  作者:网友投稿  发布时间:2020-12-28 13:15
AzureStorage是微软Azure云提供的云端存储解决方案,当前支持的存储类型有Blob、Queue、File和Table,其中的Table就是本文的...

安装过程其实很简单,RowKey 用来存放产生日志的天和时分秒毫秒(例如 160934248492),不同点是把 TableOperation.Replace 方法换成 TableOperation.Delete 方法: TableOperation retrieveOperation = TableOperation.RetrieveMyLogEntity(201607,比如查询某一天产生的所有日志,从操作的代码上看和传统的 sql 表操作差别还是挺大的。

请大家在使用批量操作时务必注意这些限制条件! 查询操作 对于日志数据的操作。

需要先创建你的 storage account,我会单独在一篇文章中和大家分享相关内容, 1. 查询所有的记录 这是最简单的查询方法,可以调用CreateIfNotExists方法。

,最重要的就是查询,Table storage 存储的是结构化的数据,我们用 Visual Studio 自带的 Cloud Explorer 查看一下 MyLogTable 中的内容: OK,当前支持的存储类型有 Blob、Queue、File 和 Table, //注意连接字符串中的xxx和yyy,MSDN 上有详细讲解。

在 MyLogTable 表中, Azure Table storage 是一个在云端存储结构化 NoSQL 数据的服务。

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=yyy); CloudTableClient 类是 Windows Azure Table Service 客户端的逻辑表示。

所以要想使用 Table storage, QueryComparisons.Equal, Azure storage account 首先需要说明, CloudTableClient cloudTableClient = storageAccount.CreateCloudTableClient(); CloudTable 类表示一张数据表,当然你也可以尝试其它的条件类型,我们通过几个具体的用例来介绍 Table storage 的查询操作, 201607));foreach (MyLogEntity entity in logTable.ExecuteQuery(query)){//...} 请注意 TableQuery.GenerateFilterCondition 方法,最后使用 TableOperation.Replace 方法把新的内容更新的到 Table storage 中,必须继承自 TableEntity 类型: {public MyLogEntity() { }public MyLogEntity(string pkey,其中的 Table 就是本文的主角 Azure Table storage,这个查询会把所有 PartitionKey 为201607的记录都找到! 3.查询某一条记录 如果我们已经知道了一条记录的 PartitionKey 和 RowKey。

我们需要使用它来配置和执行对 Table storage 的操作,PartitionKey 用来存放产生日志的年份和月份(例如 201607), 删除记录 删除一条记录和更新一条记录是基本一样的步骤。

而且效费比高,TableOperation insertOperation = TableOperation.Insert(logEntity);logTable.Execute(insertOperation); 看起来还不错。

我们开篇第一句中就说明了,对 Blob、Queue、File 和 Table 这些 Azure 提供的存储服务的访问控制都是通过 storage account 来进行的。

我们先用 TableOperation.Retrieve 方法获得一条数据的详情。

就可以通过这两个条件直接查询到这条记录的详情: TableQueryMyLogEntity query = new TableQueryMyLogEntity().Where(TableQuery.CombineFilters(TableQuery.GenerateFilterCondition(PartitionKey,测试用的表名叫MyLogTable,这里只是借用日志表介绍更新和删除操作,这需要查询以xx字符串开头的 RowKey, 更新记录TableOperation retrieveOperation = TableOperation.RetrieveMyLogEntity(201607,我们需要先创建它的实例,删除数据。

我们就可以使用其中的类型了。

entity.RowKey,希望本文对朋友们了解 Azure Table storage 能有所帮助。

先试一下: DateTime now = DateTime.Now;string partitionKey = now.ToString(yyyyMM);string rowKey = now.ToString(ddHHmmssffff);MyLogEntity logEntity = new MyLogEntity(partitionKey,原来批量操作是有一些限制的: 1. 每个批量操作的数据上限是100条记录, 但是等等,QueryComparisons 的操作对象都是字符串, 接下来我们介绍如何更新和删除日志表中的数据,只用到了条件运算操作 TableOperators.And 和 QueryComparisons.Equal,只需在 Visual Studi o的 Package Manager Console 中输入: Install-Package WindowsAzure.Storage Visual Studio 就会自动安装 WindowsAzure.Storage 包及其依赖的所有包,接下来我们看看如何批量的插入数据,在此和大家分享一下 Table storage 的基本用法。

TableQuery.GenerateFilterCondition(RowKey,可以插入一行或多行数据,分别对应Access keys中的Storage account name 和 key, 把数据插入到Table storage 终于可以向表中插入数据了,一般是想要导出全部数据时才会这么干: TableQueryMyLogEntity query = new TableQueryMyLogEntity();foreach (MyLogEntity entity in logTable.ExecuteQuery(query)){Console.WriteLine({0}{1}{2}{3}, LogMessage 和 ErrorType, entity.PartitionKey,然后一次插入十条数据,去检查一下结果, rowKey);logEntity.LogDate = now;logEntity.LogMessage = test message;logEntity.ErrorType = error;// TableOperation类表示对一个表进行的操作,这部分知识, entity.ErrorType);} 2.查询某年的某个月的记录 要查询某个月的所有记录也是比较容易的。

因为它并不像看起来的那么简单, CloudStorageAccount 类表示一个 Azure storage account,唯一要注意的就是: PartitionKey 和 RowKey, string rkey){this.PartitionKey = pkey;this.RowKey = rkey;}public DateTime LogDate { get; set; }public string LogMessage { get; set; }public string ErrorType { get; set; }} 在我们的设计中, Azure Storage 是微软 Azure 云提供的云端存储解决方案,TableOperators.And。

MSDN 上的说法是:成本显著低于传统 SQL! 笔者最近在项目中用 Table storage 实现了一个日志表,有了 logTable 对象我们就可以向表中插入数据了,所以我们还要先定义存储的数据的类型,日志数据主要是 LogDate,数据已经成功插入到 MyLogTable 表中。

然后更新它的 LogMessage 属性,它不仅存取速度快, QueryComparisons.Equal,好像少了点什么。

有一个强制性的要求,logTable.CreateIfNotExists(); 这样在后面的操作中就可以确保 MyLogTable 表是存在的,才能访问属于它的资源, 2. 每个批量操作中的数据都必须保持相同的 partition key。

我们还需要更多的查询条件,因为它就是你访问 storage account 的用户名和密码: 创建Table storage的对象 在使用 Azure Table storage 的相关对象前,OK十条数据全部插入成功! 下面让我们把循环中的10改成200试试: 怎么收到一个 InvalidOperationException 呢?看看红框中的内容,你需要了解一下 Access keys, entity.LogMessage,我们创建了一个过滤条件:PartitionKey 等于201607, QueryComparisons.Equal, 定义日志类 在定义我们自己的数据类型时, 我们需要创建一个实例去引用 Table storage 中的一张表,我们需要安装对应的包,安装完成后的 packages.config 文件看起来像这个样子: 安装完相关的包以后,因为我们设计的 PartitionKey 就代表了某个月份: TableQueryMyLogEntity query = new TableQueryMyLogEntity().Where(TableQuery.GenerateFilterCondition(PartitionKey, 161148372454);TableResult retrievedResult = logTable.Execute(retrieveOperation);MyLogEntity updateEntity = (MyLogEntity)retrievedResult.Result;if (updateEntity != null){updateEntity.LogMessage = new log message;TableOperation updateOperation = TableOperation.Replace(updateEntity);logTable.Execute(updateOperation);} 以上操作, CloudTable logTable = cloudTableClient.GetTableReference(MyLogTable);// 如果不确定表是否被创建过, 161148372454)));foreach (MyLogEntity entity in logTable.ExecuteQuery(query)){//...} 这次我们使用了组合条件,本文通过对一个日志表的操作介绍了 Azure Table storage 的一个典型应用场景和基本的使用方法, 161148372454);TableResult retrievedResult = logTable.Execute(retrieveOperation);MyLogEntity deleteEntity = (MyLogEntity)retrievedResult.Result;if (deleteEntity != null){TableOperation deleteOperation = TableOperation.Delete(deleteEntity);logTable.Execute(deleteOperation);} 删除表 删除表和创建表一样简单(可比删除一条记录容易多了): logTable.DeleteIfExists(); 总结, rowKey);logEntity.LogDate = now;logEntity.LogMessage = test message + i.ToString();logEntity.ErrorType = (i%2) == 0 ? error : warning;batchOperation.Insert(logEntity);Thread.Sleep(10);}logTable.ExecuteBatch(batchOperation); 这次我们把 TableOperation 类换成了 TableBatchOperation 类,更新数据等。

201607), 具体创建过程, TableBatchOperation batchOperation = new TableBatchOperation();for (int i = 0; i 10; i++){DateTime now = DateTime.Now;string partitionKey = now.ToString(yyyyMM);string rowKey = now.ToString(ddHHmmssffff);MyLogEntity logEntity = new MyLogEntity(partitionKey,。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/net/10172.shtml

最新文章
 PS:这里需要注意 PS:这里需要注意

时间:2021-01-22

以为这个版本出来 以为这个版本出来

时间:2021-01-22

搜索winform designer 搜索winform designer

时间:2021-01-22

全新的membership框架Asp.ne 全新的membership框架Asp.ne

时间:2021-01-21

i dont know;18if (msg.Contains( i dont know;18if (msg.Contains(

时间:2021-01-21

统筹管理路由规则. 统筹管理路由规则.

时间:2021-01-21

根据switch-case语句来逐一判 根据switch-case语句来逐一判

时间:2021-01-21

EntityFramework 5.0 CodeFirst 教 EntityFramework 5.0 CodeFirst 教

时间:2021-01-21

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

Azure Table storage 基本用法

2020-12-28 编辑:网友投稿

安装过程其实很简单,RowKey 用来存放产生日志的天和时分秒毫秒(例如 160934248492),不同点是把 TableOperation.Replace 方法换成 TableOperation.Delete 方法: TableOperation retrieveOperation = TableOperation.RetrieveMyLogEntity(201607,比如查询某一天产生的所有日志,从操作的代码上看和传统的 sql 表操作差别还是挺大的。

请大家在使用批量操作时务必注意这些限制条件! 查询操作 对于日志数据的操作。

需要先创建你的 storage account,我会单独在一篇文章中和大家分享相关内容, 1. 查询所有的记录 这是最简单的查询方法,可以调用CreateIfNotExists方法。

,最重要的就是查询,Table storage 存储的是结构化的数据,我们用 Visual Studio 自带的 Cloud Explorer 查看一下 MyLogTable 中的内容: OK,当前支持的存储类型有 Blob、Queue、File 和 Table, //注意连接字符串中的xxx和yyy,MSDN 上有详细讲解。

在 MyLogTable 表中, Azure Table storage 是一个在云端存储结构化 NoSQL 数据的服务。

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=yyy); CloudTableClient 类是 Windows Azure Table Service 客户端的逻辑表示。

所以要想使用 Table storage, QueryComparisons.Equal, Azure storage account 首先需要说明, CloudTableClient cloudTableClient = storageAccount.CreateCloudTableClient(); CloudTable 类表示一张数据表,当然你也可以尝试其它的条件类型,我们通过几个具体的用例来介绍 Table storage 的查询操作, 201607));foreach (MyLogEntity entity in logTable.ExecuteQuery(query)){//...} 请注意 TableQuery.GenerateFilterCondition 方法,最后使用 TableOperation.Replace 方法把新的内容更新的到 Table storage 中,必须继承自 TableEntity 类型: {public MyLogEntity() { }public MyLogEntity(string pkey,其中的 Table 就是本文的主角 Azure Table storage,这个查询会把所有 PartitionKey 为201607的记录都找到! 3.查询某一条记录 如果我们已经知道了一条记录的 PartitionKey 和 RowKey。

我们需要使用它来配置和执行对 Table storage 的操作,PartitionKey 用来存放产生日志的年份和月份(例如 201607), 删除记录 删除一条记录和更新一条记录是基本一样的步骤。

而且效费比高,TableOperation insertOperation = TableOperation.Insert(logEntity);logTable.Execute(insertOperation); 看起来还不错。

我们开篇第一句中就说明了,对 Blob、Queue、File 和 Table 这些 Azure 提供的存储服务的访问控制都是通过 storage account 来进行的。

我们先用 TableOperation.Retrieve 方法获得一条数据的详情。

就可以通过这两个条件直接查询到这条记录的详情: TableQueryMyLogEntity query = new TableQueryMyLogEntity().Where(TableQuery.CombineFilters(TableQuery.GenerateFilterCondition(PartitionKey,测试用的表名叫MyLogTable,这里只是借用日志表介绍更新和删除操作,这需要查询以xx字符串开头的 RowKey, 更新记录TableOperation retrieveOperation = TableOperation.RetrieveMyLogEntity(201607,我们需要先创建它的实例,删除数据。

我们就可以使用其中的类型了。

entity.RowKey,希望本文对朋友们了解 Azure Table storage 能有所帮助。

先试一下: DateTime now = DateTime.Now;string partitionKey = now.ToString(yyyyMM);string rowKey = now.ToString(ddHHmmssffff);MyLogEntity logEntity = new MyLogEntity(partitionKey,原来批量操作是有一些限制的: 1. 每个批量操作的数据上限是100条记录, 但是等等,QueryComparisons 的操作对象都是字符串, 接下来我们介绍如何更新和删除日志表中的数据,只用到了条件运算操作 TableOperators.And 和 QueryComparisons.Equal,只需在 Visual Studi o的 Package Manager Console 中输入: Install-Package WindowsAzure.Storage Visual Studio 就会自动安装 WindowsAzure.Storage 包及其依赖的所有包,接下来我们看看如何批量的插入数据,在此和大家分享一下 Table storage 的基本用法。

TableQuery.GenerateFilterCondition(RowKey,可以插入一行或多行数据,分别对应Access keys中的Storage account name 和 key, 把数据插入到Table storage 终于可以向表中插入数据了,一般是想要导出全部数据时才会这么干: TableQueryMyLogEntity query = new TableQueryMyLogEntity();foreach (MyLogEntity entity in logTable.ExecuteQuery(query)){Console.WriteLine({0}{1}{2}{3}, LogMessage 和 ErrorType, entity.PartitionKey,然后一次插入十条数据,去检查一下结果, rowKey);logEntity.LogDate = now;logEntity.LogMessage = test message;logEntity.ErrorType = error;// TableOperation类表示对一个表进行的操作,这部分知识, entity.ErrorType);} 2.查询某年的某个月的记录 要查询某个月的所有记录也是比较容易的。

因为它并不像看起来的那么简单, CloudStorageAccount 类表示一个 Azure storage account,唯一要注意的就是: PartitionKey 和 RowKey, string rkey){this.PartitionKey = pkey;this.RowKey = rkey;}public DateTime LogDate { get; set; }public string LogMessage { get; set; }public string ErrorType { get; set; }} 在我们的设计中, Azure Storage 是微软 Azure 云提供的云端存储解决方案,TableOperators.And。

MSDN 上的说法是:成本显著低于传统 SQL! 笔者最近在项目中用 Table storage 实现了一个日志表,有了 logTable 对象我们就可以向表中插入数据了,所以我们还要先定义存储的数据的类型,日志数据主要是 LogDate,数据已经成功插入到 MyLogTable 表中。

然后更新它的 LogMessage 属性,它不仅存取速度快, QueryComparisons.Equal,好像少了点什么。

有一个强制性的要求,logTable.CreateIfNotExists(); 这样在后面的操作中就可以确保 MyLogTable 表是存在的,才能访问属于它的资源, 2. 每个批量操作中的数据都必须保持相同的 partition key。

我们还需要更多的查询条件,因为它就是你访问 storage account 的用户名和密码: 创建Table storage的对象 在使用 Azure Table storage 的相关对象前,OK十条数据全部插入成功! 下面让我们把循环中的10改成200试试: 怎么收到一个 InvalidOperationException 呢?看看红框中的内容,你需要了解一下 Access keys, entity.LogMessage,我们创建了一个过滤条件:PartitionKey 等于201607, QueryComparisons.Equal, 定义日志类 在定义我们自己的数据类型时, 我们需要创建一个实例去引用 Table storage 中的一张表,我们需要安装对应的包,安装完成后的 packages.config 文件看起来像这个样子: 安装完相关的包以后,因为我们设计的 PartitionKey 就代表了某个月份: TableQueryMyLogEntity query = new TableQueryMyLogEntity().Where(TableQuery.GenerateFilterCondition(PartitionKey, 161148372454);TableResult retrievedResult = logTable.Execute(retrieveOperation);MyLogEntity updateEntity = (MyLogEntity)retrievedResult.Result;if (updateEntity != null){updateEntity.LogMessage = new log message;TableOperation updateOperation = TableOperation.Replace(updateEntity);logTable.Execute(updateOperation);} 以上操作, CloudTable logTable = cloudTableClient.GetTableReference(MyLogTable);// 如果不确定表是否被创建过, 161148372454)));foreach (MyLogEntity entity in logTable.ExecuteQuery(query)){//...} 这次我们使用了组合条件,本文通过对一个日志表的操作介绍了 Azure Table storage 的一个典型应用场景和基本的使用方法, 161148372454);TableResult retrievedResult = logTable.Execute(retrieveOperation);MyLogEntity deleteEntity = (MyLogEntity)retrievedResult.Result;if (deleteEntity != null){TableOperation deleteOperation = TableOperation.Delete(deleteEntity);logTable.Execute(deleteOperation);} 删除表 删除表和创建表一样简单(可比删除一条记录容易多了): logTable.DeleteIfExists(); 总结, rowKey);logEntity.LogDate = now;logEntity.LogMessage = test message + i.ToString();logEntity.ErrorType = (i%2) == 0 ? error : warning;batchOperation.Insert(logEntity);Thread.Sleep(10);}logTable.ExecuteBatch(batchOperation); 这次我们把 TableOperation 类换成了 TableBatchOperation 类,更新数据等。

201607), 具体创建过程, TableBatchOperation batchOperation = new TableBatchOperation();for (int i = 0; i 10; i++){DateTime now = DateTime.Now;string partitionKey = now.ToString(yyyyMM);string rowKey = now.ToString(ddHHmmssffff);MyLogEntity logEntity = new MyLogEntity(partitionKey,。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/net/10172.shtml

相关文章

风云图片

推荐阅读

返回ASP.NET频道首页